<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Alegro_model extends CI_Model {
	
	public function get_all($table=NULL){
		$alegroPedidos = $this->load->database('alegro', TRUE);
		return $alegroPedidos->get($table)->result();
	}
	
	public function get_byemail($email=NULL, $table=NULL, $campo=NULL){
		if ($email != NULL){
			$alegroPedidos = $this->load->database('alegro', TRUE);
			$alegroPedidos->where($campo, $email);
			$query = $alegroPedidos->get($table)->row();
			if(count($query) === 1) {
				return $query;
			} else {
				return NULL;
			}
		} else {
			return NULL;
		}
	}
	
	public function authenticate($dados = NULL) {
		
		if ($dados['usuario'] != NULL && $dados['senha'] != NULL) {
			$alegroPedidos = $this->load->database('alegro', TRUE);
			$alegroPedidos->where('usu_email', $dados['usuario']);
			$alegroPedidos->where('usu_senha', $dados['senha']);
			$query = $alegroPedidos->get('tbl_usuario')->row();
			
			if(count($query) === 1) {
				if ($query->tip_codigo_tipo_usuario == 1){
					$perfil = 'Administrador';
				} else if ($query->tip_codigo_tipo_usuario == 2){
					$perfil = 'Financeiro';
				} else if ($query->tip_codigo_tipo_usuario == 3){
					$perfil = 'Comercial';
				} else if ($query->tip_codigo_tipo_usuario == 4) {
					$perfil = 'Representante';
				} else {
					$perfil = 'Visitante';
				}
				$dados = array('usuario' => $query->usu_nome, 'usuario_id' => $query->usu_codigo, 'perfil_id' => $query->tip_codigo_tipo_usuario, 'perfil' => $perfil, 'codigo_singem' => $query->usu_codigo_singem, 'logado' => TRUE);
				return $dados;
			}else{
				return NULL;
			}
		}
	}
	
	public function confirm_senha($dados=NULL, $usuario_id=NULL){
		if ($dados != NULL && $usuario_id != NULL){
			$alegroPedidos = $this->load->database('alegro', TRUE);
			$alegroPedidos->where('usu_codigo', $usuario_id);
			$alegroPedidos->where('usu_senha', $dados);
			$query = $alegroPedidos->get('tbl_usuario')->row();
			
			if(count($query) === 1) {
				return TRUE;
			}else{
				return FALSE;
			}
		}
	}
	
	public function altera_senha($dados=NULL, $usuario_id=NULL){
		if ($dados != NULL && $usuario_id != NULL){
			$alegroPedidos = $this->load->database('alegro', TRUE);
			$alegroPedidos->set('usu_senha', $dados);
			$alegroPedidos->where('usu_codigo', $usuario_id);
			$query = $alegroPedidos->update('tbl_usuario');
			
			if ($query){
				return TRUE;
			} else {
				return FALSE;
			}
		}
	}
	
	public function sequence($table=NULL, $campo=NULL){
		if ($table != NULL && $campo != NULL){
			$alegroPedidos = $this->load->database('alegro', TRUE);
			$alegroPedidos->select($campo);
			$result = $alegroPedidos->get($table)->row();
			if ($result != NULL){
				//Incrementa o valor da sequence em 1
				$value = $result->$campo + 1;
				$data = array($campo => $value);
				$alegroPedidos->update($table, $data, "$campo = ".$result->$campo);
			} else {
				$data = array($campo => 1);
				$alegroPedidos->insert($table, $data);
			}
			
			return $data[$campo];
		} else {
			return NULL;
		}
	}
	
	
}


